<!-- vue3-report  更新日志 -->
<script lang="ts" setup>
defineOptions({
  // 命名当前组件
  name: "UpdateLog"
})
</script>
<template>
  <div class="app-container">
    <el-card style="width: 100%" shadow="hover">
      <template #header>
        <div>
          <!-- <SvgIcon name="update-log-blue" class="svg-icon" /> -->
          <el-text size="large" type="primary">日报系统VUE3版本更新日志</el-text>
        </div>
      </template>
      <el-timeline style="max-width: 100%">
        <el-timeline-item timestamp="2025/8/15" placement="top" center icon="Document" type="success" size="large">
          <el-card header="计划统计" shadow="hover">
            <p>feat:计划统计功能增加查询条件，统计范围 选项有全部人员、计划投入人员。默认全部人员</p>
            <p>feat:计划统计页面样式简单调整, 新增计划和日报的分隔符在热力图上</p>
            <p>refactor: 填写日报提交前提示当前已填写工时数; jira的日报详情抽屉,支持点击模态框傍边自动关闭</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/7/4" placement="top" center icon="Document" type="success" size="large">
          <el-card header="页面显示" shadow="hover">
            <p>fixed:首页项目总数关闭数展示</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/5/7" placement="top" center icon="Document" type="success" size="large">
          <el-card header="相关功能优化开发" shadow="hover">
            <p>feat: 个人中心新增修改密码功能</p>
            <p>fixed: oa系统访问恢复</p>
            <p>fixed: 统计月工时定时任务报错问题处理</p>
            <p>fixed: 定时任务获取用户信息修复，并删除获取用户失败的日志</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/3/18" placement="top" center icon="Document" type="success" size="large">
          <el-card header="相关功能优化开发" shadow="hover">
            <p>feat: jira 工时详情添加jira内容</p>
            <p>feat: 计划管理页面开发，权限控制，编辑页面重构，加入状态字段，可排序</p>
            <p>fixed: 其他小问题处理，略</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/3/17" placement="top" center icon="Document" type="success" size="large">
          <el-card header="计划管理开发" shadow="hover">
            <p>feat: 计划管理页面开发</p>
            <p>refactor: 日报列表size修改，批量新增抽屉给点击模态框外收起等优化</p>
            <p>feat: 编辑jira页面新增清除计划按钮和功能</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/3/6" placement="top" center icon="Document" type="success" size="large">
          <el-card header="人员计划热力图统计开发" shadow="hover">
            <p>feat: 人员的基于jira的计划统计热力图表:</p>
            <p class="m-l-2">
              根据jira中的经办人，以及计划开始时间与结束时间计算而来，注意选择时间范围不要太大，因为每个人的每一天都需要计算计划详情和计划总条数
            </p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/3/5" placement="top" center icon="Document" type="success" size="large">
          <el-card header="jira相关功能优化" shadow="hover">
            <p>
              feat: jira 增加计划开始时间、计划完成时间、实际完成时间以及bug类型开发经理和组维护：包括前后端查询、修改等
            </p>
            <p>feat: 编辑页面布局修改，并新增弹框全屏和退出全屏功能</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/2/13" placement="top" center icon="Document" type="success" size="large">
          <el-card header="相关功能优化" shadow="hover">
            <p>feat: jira 表加入总工时(方便排序)字段，相关操作时统计入表</p>
            <p>feat: 前端编写排序hooks， 并支持prop和数据库字段自定义映射功能</p>
            <p class="ml-2">相关页面引入排序功能：如jira管理、工时管理等页面</p>
            <p>refactor: 其他页面调整，如jira列表加入总工时和子工时等</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/2/12" placement="top" center icon="Document" type="success" size="large">
          <el-card header="重写日报填写页面" shadow="hover">
            <p>refactor: 重写日报填写页面:</p>
            <p class="ml-2">日报填写页面封装为一个单独的组件</p>
            <p class="ml-2 text-[#E6A23C]">
              重写日报表单校验逻辑：每次直接校验整行，提交前再次触发全部重新校验，并给首个不通过行的具体提示
            </p>
            <p class="ml-2">
              <span class="text-[#FF5733]">日报填写页面可关闭，再次进入保留原本的数据；</span
              >只有手动清除表单数据或提交后才会重新初始化
            </p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/2/10" placement="top" center icon="Document" type="success" size="large">
          <el-card header="缓存各个管理页面" shadow="hover">
            <p>
              <el-text type="danger"
                ><strong>feat:</strong>针对各个管理页面，进行路由缓存，即点击页签切换的时候不刷新</el-text
              >
            </p>
            <p class="ml-2">包括：日报管理、jira列表、项目管理、小组管理、用户管理、统计、定时任务等</p>
            <p>feat: 定时任务基础框架starter修改：获取反射中真正的异常；日志详情过长时截取</p>
            <p>feat: jira状态同步定时任务：同步数量修改为3000条；分批次从jira系统查询；新增同步jira内容</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/2/7" placement="top" center icon="Document" type="success" size="large">
          <el-card header="日报系统新需求开发中" shadow="hover">
            <p>feat: 导入jira定时任务，新增日志明细，并新增同步更新经办人</p>
            <p>feat: 同步jira状态定时任务，新增日志明细，新增同步经办人、类型、父jira</p>
          </el-card>
        </el-timeline-item>
        <el-timeline-item timestamp="2025/2/6" placement="top" center icon="Document" type="success" size="large">
          <el-card header="日报系统新需求开发中" shadow="hover">
            <p>feat: 日报新增页面新增折叠填报提示；项目下拉中加入类型</p>
            <p>feat: 新增日报的时候统计自身任务jira工时的同时，也统计这个jira的父jira工时信息</p>
            <p>feat: 编辑jira时开放编辑父jira和任务类型</p>
            <p>feat: 导入jira和同步jira状态的时候：同时更新父jira和任务类型以及状态</p>
            <p>feat: 管理员可统计全部jira的工时</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/23" placement="top" center icon="Document" type="success" size="large">
          <el-card header="日报系统新需求开发中" shadow="hover">
            <p>fix: 日报提交之前手动触发一次全部数据的校验，防止部分数据检验事件未触发的问题</p>
            <p>feat: 统计项目工时定时任务编写</p>
            <p>feat: 定时任务详细页面编写；重构定时任务页面，引入日志和详情</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/22" placement="top" center icon="Document" type="success" size="large">
          <el-card header="日报系统新需求开发中" shadow="hover">
            <p>feat: 项目查询中加入项目经理下拉框选项</p>
            <p>feat: 日报查询：</p>
            <ul class="list-disc pl-4">
              <li>
                加入<el-text type="success">"项目日报"</el-text>单选框：
                项目经理专用；选择项目日报时，只可选择当前项目经理所创建的项目；可选所有小组；可选所有用户
              </li>
              <li>组长查询日报列表时候，去掉小组下拉框；只能选择小组下的成员</li>
              <li>
                小组下拉框和用户之间的联动：包括是否项目列表等关联,兼容一个用户的身份可能即是组长也是项目经理的情况
              </li>
            </ul>
            <p>feat: 其他页面处理，比如工时统计单位前后端修改，导出日报加上权限等过滤条件；其他页面修该等</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/21" placement="top" center icon="Document" type="success" size="large">
          <el-card header="日报系统新需求开发中" shadow="hover">
            <p>1-17至1-21</p>
            <p>feat: 后端基于quartz自定义starter编写，统一定时任务编写规范、自定义注解实现函数级别定时任务等</p>
            <p>feat: 后端定义定时任务表、日志表、日志详细表等，以及相依代码编写</p>
            <p>feat: 定时任务/定时任务日志前端管理页面编写以及对应接口编写; 引入cron-parser</p>
            <p>feat: 导入jira定时任务编写</p>
            <p>feat: 同步jira状态定时任务编写</p>
            <p>fix: 其他代码略</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/16" placement="top" center icon="Document" type="success" size="large">
          <el-card header="日报系统新需求开发中" shadow="hover">
            <p>refactor: 展开jira的工时详情时, 不在额外提示, 以减少交互</p>
            <p>fix: 工时详情抽屉组件重复点击相同jira code 无法再次打开的问题修复: 关闭抽屉并通知父组件清理code</p>
            <p>feat: jira中新增原始创建时间，刷新存量数据的创建时间为导入时间</p>
            <p>fix: 日报列表和填报率中，当日工时详情相同按钮重复点击无法再次弹出: 修改组件新增回调父组件清理动作</p>
            <p>fix: 日报列表查询：时间段查询不包含开始时间问题修改</p>
            <p>refactor: 首页工时填报柱状图优化，修改单位</p>
            <p>feat: 实时统计人员工时汇总图表：可根据条件动态进行不同的统计</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/15" placement="top" center icon="Document" type="success" size="large">
          <el-card header="日报系统新需求开发中">
            <p>feat: 新增日报，项目变化时候，清除jira等关联数据</p>
            <p>feat: 日报，工时修改为小时为单位，0.5步长</p>
            <p>feat: 新增日报，添加复制功能</p>
            <p>feat: 新增日报，移除内容带出功能；移除bug jira校验</p>
            <p>feat: 新增日报，bug jira 列表带出逻辑就修改为只能选择bug类型的jira</p>
            <p>feat: 新增工时的列表抬头，鼠标移入将给出相应提示</p>
            <p>feat: 不再直接缓存的我可选项目，每次打开新增日报页面，将重新拉取我的可选项目</p>
            <p>feat: jira列表加入 状态和类型 多条件查询</p>
            <p>feat: jira列表加入 批量修改jira所属项目功能</p>
            <p>feat: jira列表加入 经办人小组查询条件</p>
            <p>fix: 去掉普通用户可删除项目中用户的权限</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/14" placement="top" center icon="Document" type="danger" size="large">
          <el-card header="日报系统新需求开发中">
            <p>feat: 新增日报页面加入导入jira功能，导入后动态更新当前页面项目对应的jira列表，无需刷新</p>
            <p>feat: 选择任务jira和bug jira时，会动态带出其内容给日报内容，可能存在被覆盖问题</p>
            <p>feat: 新增使用教程页面</p>
            <p>feat: 其他：部分下拉框置为可过滤;其他页面调整；</p>
            <p>fix: sa-token 自动续期，sa-token在有效期内的时候重新激活，不用重新登录。也不会反复创建token</p>
            <p>feat: 后端加如请求时长打印日志</p>
            <p>fix: 根据jira自动带入的内容未触发校验问题</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/13" placement="top" center icon="Document" type="danger" size="large">
          <el-card header="日报填报">
            <p>feat: 默认关闭旧版本日报系统的访问</p>
            <p>feat: 新增日报，增加各字段的校验规则，实时校验</p>
            <p>feat: 新增的日报中的jira进行一次jira的工时统计</p>
            <p>feat: 日报增加bug jira字段，非必填,查询/新增</p>
            <p><el-text class="mx-1" type="warning">feat: 选择项目后：根据项目类型，带出不同的jira列表：</el-text></p>
            <p>
              <el-text class="mx-1" type="danger"
                >&nbsp;&nbsp;新需求项目:JIRA编号包含项目的JIRA前缀，JIRA经办人为当前用户，JIRA类型为非BUG的所有JIRA(已经关联项目的jira则需要和当前选择的项目匹配)</el-text
              >
            </p>
            <p>
              <el-text class="mx-1" type="danger"
                >&nbsp;&nbsp;运维类项目:JIRA编号包含项目的JIRA前缀，JIRA经办人为当前用户，JIRA类型为NOT in(New
                Feature、Improvement)(已经关联项目的jira则需要和当前选择的项目匹配)</el-text
              >
            </p>
            <p>feat: 鼠标悬浮于jira下拉选项的时候展示其内容</p>
            <p>
              feat: 新增日报的时候，判断当前jira是否已经关联项目，没有关联则会关联当前日报选择的项目(意为第一次关联)
            </p>
            <p>feat: 编辑页面新增bug jira字段，其他限制尚未改造</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/10-11" placement="top" center icon="Document" type="danger" size="large">
          <el-card header="日报系统新需求开发中">
            <p>feat: Server-Send Events前端工具类组件编写并新增finished事件</p>
            <p>feat: 组件: 一次导入项目下多个jira号组件编写，权限：所有人</p>
            <p>
              feat: 组件：按天导入工银和非工银系统下的jira，并通过SSE实时推送导入过程给前端；限：组长、项目经理、管理员
            </p>
            <p>feat: 组件：按周导入工银和非工银系统下的jira，并通过SSE实时推送导入过程给前端；限：管理员</p>
            <p>feat: 后端新增用户和主线程子线程绑定相关处理(通用字段拦截器等)</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/9" placement="top" center icon="Document" type="danger" size="large">
          <el-card header="日报系统新需求开发中">
            <p>fix: 各个表单校验在生产环境失效问题修复</p>
            <p>feat: 首页填报率默认昨日，可switch今日;填报率页面默认查询昨日</p>
            <p>feat: 项目新增类型，修改工时为小时</p>
            <p>fix: 后端sa-token未失效的时候,判断session失效则创建</p>
            <p>
              feat: jira管理:
              去掉结算年度、检测结果；预计工时和已用工时修改为小时；当预计工时小于已用工时则标红；可修改经办人等
            </p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/8" placement="top" center icon="Document" type="danger" size="large">
          <el-card header="日报系统新需求开始">
            <p>feat: 用户管理新增jira账号(对应jira经办人)增改查</p>
            <p>feat: 个人中心可是修改jira账号</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2025/1/3" placement="top" center icon="Document" type="primary" size="large">
          <el-card header="日常更新">
            <p>fix: 日报后清除formData</p>
            <p>feat: jira自动trim</p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2024/12/x" placement="top" center icon="Memo" type="success" size="large">
          <el-card header="前端页面的编写">
            <p>
              <el-text class="mx-1">登录</el-text>
              <el-text class="mx-1" type="primary">token</el-text>
              <el-text class="mx-1" type="success">状态管理</el-text>
              <el-text class="mx-1" type="info">权限</el-text>
              <el-text class="mx-1" type="warning">全局路由/动态路由</el-text>
              <el-text class="mx-1" type="danger">登出</el-text>
              <el-text class="mx-1" type="danger">菜单</el-text>
            </p>
            <p>
              <el-text class="mx-1">首页</el-text>
              <el-text class="mx-1" type="primary">概览</el-text>
              <el-text class="mx-1" type="success">图表</el-text>
            </p>
            <p>
              <el-text class="mx-1">日报列表</el-text>
              <el-text class="mx-1" type="primary">列表查询/权限</el-text>
              <el-text class="mx-1" type="success">导出</el-text>
              <el-text class="mx-1" type="info">动态新增(实时统计/校验)</el-text>
              <el-text class="mx-1" type="warning">编辑/删除</el-text>
              <el-text class="mx-1" type="danger">当日详情</el-text>
              <el-text class="mx-1" type="danger">jira详情</el-text>
            </p>
            <p>
              <el-text class="mx-1">jira列表</el-text>
              <el-text class="mx-1" type="primary">列表查询</el-text>
              <el-text class="mx-1" type="success">修改</el-text>
              <el-text class="mx-1" type="danger">工时详情</el-text>
            </p>
            <p>
              <el-text class="mx-1">项目管理</el-text>
              <el-text class="mx-1" type="primary">列表查询/</el-text>
              <el-text class="mx-1" type="success">导出</el-text>
              <el-text class="mx-1" type="info">新增</el-text>
              <el-text class="mx-1" type="warning">编辑/删除</el-text>
              <el-text class="mx-1" type="danger">人员管理</el-text>
              <el-text class="mx-1" type="danger">状态管理</el-text>
            </p>
            <p>
              <el-text class="mx-1">小组管理</el-text>
              <el-text class="mx-1" type="primary">列表查询</el-text>
              <el-text class="mx-1" type="info">新增</el-text>
              <el-text class="mx-1" type="warning">编辑/删除</el-text>
            </p>
            <p>
              <el-text class="mx-1">用户管理</el-text>
              <el-text class="mx-1" type="primary">列表查询</el-text>
              <el-text class="mx-1" type="info">编辑</el-text>
              <el-text class="mx-1" type="warning">启用/禁用</el-text>
            </p>
            <p>
              <el-text class="mx-1">统计|图表</el-text>
              <el-text class="mx-1" type="primary">工时填报率</el-text>
            </p>
            <p>
              <el-text class="mx-1">个人中心</el-text>
              <el-text class="mx-1" type="primary">编辑小组</el-text>
            </p>
            <p>
              <el-text class="mx-1">更新日志</el-text>
            </p>
            <p>
              <el-text class="mx-1">其他</el-text>
              <el-text class="mx-1" type="primary">组件封装：某日日报列表、jira日报详情</el-text>
              <el-text class="mx-1" type="success">通用下拉框封装</el-text>
              <el-text class="mx-1" type="info">组定义图标</el-text>
            </p>
          </el-card>
        </el-timeline-item>

        <el-timeline-item timestamp="2024/11/18" placement="top" center icon="Reading" type="info" size="large">
          <el-card header="开始">
            <p>
              可能是这个时候准备开始使用VUE3 + Elementplus重构日报系统吧，主要是页面有点难看，顺便了解下最新的前端技术
            </p>
            <p>前端大体技术栈:</p>
            <p>
              <el-divider direction="vertical" />
              <span>vue3</span>
              <el-divider direction="vertical" />
              <span>element-plus</span>
              <el-divider direction="vertical" border-style="solid" />
              <span>TypeScript</span>
              <el-divider direction="vertical" />
              <span>vue-router</span>
              <el-divider direction="vertical" />
              <span>Pinia</span>
              <el-divider direction="vertical" />
              <span>Vite</span>
              <el-divider direction="vertical" />
              <span>Axios</span>
              <el-divider direction="vertical" />
              <span>UnoCSS</span>
              <el-divider direction="vertical" />
            </p>
            <p>因前后端分离,后端引入了sa-token</p>
          </el-card>
        </el-timeline-item>
      </el-timeline>
    </el-card>
  </div>
</template>

<style lang="scss" scoped>
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
</style>
